草庐IT

java - MongoDB与Badges系统分析

全部标签

mongodb - 使用 Go 在 MongoDB 中指定查询

对于如何将JavascriptJSON命令转换回go会理解的东西感到困惑。好的,这是mongoshell中的查询:db.customers.find({acct_balance:{$gt:100000}},{firstName:1,surname:1,acct_balance:1,_id:0})结果::{“firstName”:“Susann”,“surname”:“Ulisch”,“acct_balance”:238897.45}{“firstName”:“Parker”,“surname”:“Peet”,“acct_balance”:443314.13}现在我想在Go中复制该查询。

mongodb - MGO 驱动程序中的更新查询,适用于 bson.M,但不适用于自定义结构

Mgo和golang问题。我又遇到问题了。我尝试更新数据库中的记录,但运行简单命令visitors.UpdateId(v.Id,bson.M{"$set":zscore});wherezscore是类型Zscore的变量,不起作用。但是,如果我手动将zscore转换为bson.M结构,一切正常。有人知道如何使用mgo更新mongodb中的记录,而无需手动将结构值转储到bson.M中吗?示例:typeZscorestruct{afloat64`bson:"a,omitempty"json:"a"`bfloat64`bson:"b,omitempty"json:"b"`cfloat64`b

mongodb - 在mongodb中按日期查询

我可以使用golang驱动程序gopkg.in/mgo.vs和gopkg.in/mgo.vs/bson向MongoDB中插入一个条目,但是我拔不出来。在mongoshell中,如果我这样做了db.Items.find({date:1428762411980})它显示了我刚刚用Go代码插入的条目。但是,如果我尝试执行以下操作以在Go中获取它,它会告诉我找不到该记录funcfetch(whttp.ResponseWriter,r*http.Request){varresultSomeStructdate:=r.FormValue("date")err:=Items.Find(bson.M{

go - 无法检测到 go protobuf 的版本控制系统

在我的go项目上运行goget我收到以下错误消息:packagecode.google.com/p/goprotobuf/proto:无法检测code.google.com/路径的版本控制系统我什么都没有改变,这是怎么回事? 最佳答案 golangprotobuf项目已从googlecode移动至github.用于从ProtocolBuffer定义生成go代码的protoc版本已过时并使用旧导入。从github项目说明安装protoc-gen-go:https://github.com/golang/protobuf

mongodb - 当键包含大写字母时无法使用 mgo 检索值

来自mongoDB的一个数据是{"_id":ObjectId("5536def4e4b0644323e219a8"),"title":"TheTitle","description":"TheDescription","timeStamp":"21/04/2015","category":"news","url":"http://www.example.com","source":"EveningTimes","mainStory":"Thisisthemainstory."}在我的代码中,结构是typeNewsDatastruct{Titlestring`bson:"title"js

mongodb - 通过 mgo 驱动程序设置 MongoDB 写关注

我有一个Go客户端,它重复将数据插入MongoDB1分钟。我不希望客户端确认写入,直到它们被复制到我的主-辅助-仲裁副本集的辅助副本,所以我通过mongoma​​jority写入关注/strong>外壳。但是,客户端的执行远远早于将写入复制到辅助节点之前完成(我正在观察文档计数以确保)。如果主节点在复制完成之前崩溃,数据将被回滚——从客户端的角度来看——已经被确认。这种行为是否与我通过shell设置的多数写入问题相矛盾?我是否还需要通过mgo驱动程序设置写入关注?本文建议我需要:RunningMongoDBQueriesConcurrentlyWithGoWeusethemgo.Dia

go - 应用程序的邮件系统之类的东西是否应该像本例所示那样在单独的 channel 中运行?

想象一下具有大量不同路由的Web服务。其中一些会触发发送给用户的交易电子邮件。初始化一个mailer实例似乎很奇怪,例如每次请求想要发送一些东西时使用github.com/aws/aws-sdk-go/service/sns.相反,我假设有一个mailer实例,并且所有事情都发生在一个单独的channel上,消息被发布到该channel。例子我创建了一个简单示例来说明问题。全局Mailer实例配置一次,Index处理程序请求一个channel并传递一个Message。packagemainimport("fmt""log""net/http""os")//Messageisthecus

mongodb - Mgo(mongo for go)支持物化路径?

使用BSON和Mgo(用于go的丰富mongodb驱动程序),一种方法将如何实现物化路径?物化路径已记录here在mongo文档上。物化路径旨在为多层嵌套数据提供树状结构。使用纯javascript,命令如下(来自documentation):db.categories.insert({_id:"Books",path:null})db.categories.insert({_id:"Programming",path:",Books,"})db.categories.insert({_id:"Databases",path:",Books,Programming,"})db.cate

mongodb - 使用 Golang 和 MGO 创建一个返回 mongo 集合的函数

我是GOLANG的新手-我想降低我的GOAPI中处理程序的复杂性。我来自Node.js背景!目前路由处理器看起来像这样:funcgetCards(cweb.C,whttp.ResponseWriter,r*http.Request){session:=*MongoConnection().CreateSession()defersession.Close()collection:=session.DB(db).C(cardsCollection)result:=[]Card{}err:=collection.Find(bson.M{}).All(&result)iferr!=nil{p

go - 分析go程序时出现索引超出范围错误

This博客文章提供了有关如何使用runtime/pprof包分析golang程序的说明。除了上面提到的包导入之外,它说(STEP1)将这段代码添加到主函数中varcpuprofile=flag.String("cpuprofile","","writecpuprofiletofile")funcmain(){flag.Parse()if*cpuprofile!=""{f,err:=os.Create(*cpuprofile)iferr!=nil{log.Fatal(err)}pprof.StartCPUProfile(f)deferpprof.StopCPUProfile()}然后(